<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>欢迎注册</title>
    <link href="css/register.css" rel="stylesheet">
</head>
<body>

<div class="form-div">
    <div class="reg-content">
        <h1>欢迎注册</h1>
        <span>已有帐号？</span> <a href="login.html">登录</a>
    </div>
    <form id="reg-form" action="#" method="get">

        <table>

            <tr>
                <td>用户名</td>
                <td class="inputs">
                    <input name="username" type="text" id="username">
                    <br>
                    <span id="username_err" class="err_msg" style="display: none">用户名已存在</span>
                </td>

            </tr>

            <tr>
                <td>密码</td>
                <td class="inputs">
                    <input name="password" type="password" id="password">
                    <br>
                    <span id="password_err" class="err_msg" style="display: none">密码格式有误</span>
                </td>
            </tr>


        </table>

        <div class="buttons">
            <input value="注 册" type="submit" id="reg_btn">
        </div>
        <br class="clear">
    </form>

</div>
<script>
    //给用户名输入框绑定失去焦点事件
    document.getElementById("username").onblur=function () {
        //1、获取用户名输入框的内容
        let username = this.value;
        //2.提交ajax请求，ajax可以更新网页部分内容，而不需要加载整个页面，也就是不需要提交全部表单的数据

        //2.1创建核心对象
        var xhttp;
        if (window.XMLHttpRequest) {
            // 用于现代浏览器的代码
            xhttp = new XMLHttpRequest();
        } else {
            // 应对老版本 IE 浏览器的代码
            xhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        //2.2建立连接和发送请求
        //建立连接
        xhttp.open("GET", "http://localhost:8080/Ajax-demo/SelectUserServlet?username="+username,true);
        //发送请求,将username参数发送过去
        xhttp.send();

        //2.3获取响应数据
        xhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                // 通过 this.responseText 可以获取到服务端响应的数据
                //2.4根据响应数据做出不同的响应
                if (this.responseText=="true"){
                    //用户名存在，给出提示信息

                    //获取提示信息elements对象
                    document.getElementById("username_err").style.display="";

                }else {
                    //用户名不存在，隐藏提示信息
                    document.getElementById("username_err").style.display="none";
                }

            }
        };



    }
</script>
</body>
</html>